	_arry = _this select 0;
	_heloname = _arry select 0;
	_callsign = _arry select 1;
	_home = _arry select 2;
	_airport = _arry select 3;
	_egress = _arry select 4;
	_ingress = _arry select 5;
	_wepType1 = _arry select 6;
	_wepClass1 = _arry select 7;
	_wepType2 = _arry select 8;
	_wepClass2 = _arry select 9;
	_helo = _arry select 0;
	_heloNewStation = true;
	_class = typeof _helo;

// player globalchat format ["this is the new class structure - %1",_class];

	_mkrname = format ["%1station", _helo];
	_asloc = createMarker [_mkrname, [0,0,0]];
	_asloc setMarkerShape "ELLIPSE";
	_mkrname setMarkerBrush "BORDER";
	_mkrname setMarkerSize [100,100];
	_mkrname setMarkerColor "ColorGreen";
	_mkrname2 = format ["%1station2", _helo];
	_asloc2 = createMarker [_mkrname2, [0,0,0]];
	_asloc2 setMarkerShape "ICON";
	_mkrname2 setMarkerSize [1,1];
	_mkrname2 setMarkerType "Dot";
	_mkrname2 setMarkerColor "ColorGreen";
	_mkrname2 setMarkerText _callsign;
	_stgtar = format ["'%1' setMarkerPos _pos,'%2' setMarkerPos _pos,RUM_ASclick = true",_mkrname,_mkrname2];
	openMap [true,true];
	onMapSingleClick _stgtar;
	titleText ["Select a Station Point", "PLAIN DOWN"];
	waitUntil {RUM_ASclick};
	onMapSingleClick "";
	titleFadeOut 0;
	sleep 1;
	openMap [false,false];
	RUM_ASclick = false;

_markerpos = getmarkerpos _mkrname;
_helo_marker_distance = _markerpos distance [getPos _helo select 0, getPos _helo select 1, 0];
_dist1 = round _helo_marker_distance;

	
	// delete and replace the static helo - client side
	_heloNewName = str(_heloname);

// grabs the position of the helo prior to being deleted so it can be repositioned at the same place on an LHD
	_heliPosASL = [getposASL _helo select 0, getposASL _helo select 1,(getposASL _helo select 2)*0 + 17.5];

	deleteVehicle _heloname;
	_spwndir = getdir _home;
	_helo = createVehicle [_class, getPos _home, [], 0, "NONE"];
	_helo setVehicleVarName _heloNewName;

	
	// checks to see if the helo is either on a LHD deck over water or on land
	if (surfaceIsWater (getpos _home)) then {
		// player sidechat format["Heli is on LHD or Ship, %1",_helo];
		_helo setPosASL _heliPosASL;
	}else{
		// player sidechat format["Heli is not over water, %1",_helo];
		_helo setpos getpos _home;
	};
	
	_helo setdir _spwndir;
	_helo setVariable ["RUM_inFlight", true, true];
	_arry = [_helo,_callsign,_home,_airport,_egress,_ingress,_wepType1,_wepClass1,_wepType2,_wepClass2];

	// player sidechat format["New Array is: %1", _arry];

	// create units to fly helo - client side
	sleep 1.5;
	_grp = createGroup side player;
	_pilot = _grp createUnit [RUM_AHEL_Pilot, getpos _home, [], 0, "FORM"];
	_pilot moveinDriver _helo;
	_gunner = _grp createUnit [RUM_AHEL_Pilot, getpos _home, [], 0, "FORM"];
	_gunner moveinGunner _helo;

	if!(_gunner in crew _helo)then{deleteVehicle _gunner};

	["sendtostation",[player,_pilot,_callsign]] execVM "RUM\AHel\radiodialogs.sqf";
	sleep 16;

//	
_helo engineOn true;

for [{_n=1},{_n<=2},{_n=_n+1}] do {
	_mkrname = "";
	switch (_n) do {
		case 1: {
			[_mkrname,_grp,_egress] call RUM_AHel_moveWPTakeoff; [_mkrname,_grp,_egress] call RUM_AHel_moveWPNormal;
		};
		case 2: {
			_mkrname = format ["%1station",_helo];
			[_mkrname,_grp] call RUM_AHel_movewaypoint;[_mkrname,_grp] call RUM_AHel_moveWPStation;
		};
		default {
			hint "shit";	
		};
	};
};
	// hint "moving waypoints";
	// waypoints to stationed area
	_heloMoveWaypoint = true;
	
	waituntil{((getPos _helo select 2) <= (RUM_AHEL_flyStationHeight + 5))};

	sleep 5;
	waitUntil{(!alive _helo) or (((((getPos _helo select 0) - (getmarkerpos _mkrname select 0))^2+((getPos _helo select 1) - (getmarkerpos _mkrname select 1))^2)^0.5) <= 100)};

	["flightcheckin",[player,_pilot,_callsign]] execVM "RUM\Ahel\radiodialogs.sqf";

	RUM_AHelAircraft_onStation = RUM_AHelAircraft_onStation + [_arry];
	publicVariable "RUM_AHelAircraft_onStation";
	//hint format ["%1",RUM_FXDAircraft_onStation];

if(true)exitwith{};
